package com.bigpang.framework.redis.baseopt.string;

import redis.clients.jedis.Jedis;

/**
 * @Author YongQiang
 * @Date 2021/6/3 16:54
 * @Version 1.0
 */
public class StringDemo {
    public static void main(String[] args) {
        String STRING_TEST = "STRING_TEST";
        Jedis jedis = new Jedis("10.130.132.137",6379);
        //1	SET key value 设置指定 key 的值
        jedis.set(STRING_TEST+1,"字符串测试");
        //2	GET key 获取指定 key 的值。
        System.out.println(STRING_TEST+1+"的value值为:"+jedis.get(STRING_TEST + 1));
        //3	GETRANGE key start end 返回 key 中字符串值的子字符
        System.out.println(STRING_TEST+1+"截取的value值为:"+jedis.getrange(STRING_TEST + 1, 1, 2));
        //4	GETSET key value 将给定 key 的值设为 value ，并返回 key 的旧值(old value)。
        System.out.println(jedis.getSet(STRING_TEST + 1, "测试新值"));
        //5	GETBIT key offset 对 key 所储存的字符串值，获取指定偏移量上的位(bit)。
        System.out.println(jedis.getbit(STRING_TEST + 1, 1));
        System.out.println(jedis.getbit("test1", 7));
        //6	MGET key1 [key2..] 获取所有(一个或多个)给定 key 的值。
        System.out.println(jedis.mget(STRING_TEST + 1, "test1"));
        //7	SETBIT key offset value 对 key 所储存的字符串值，设置或清除指定偏移量上的位(bit)。
        jedis.setbit("test1",9L,true);
        System.out.println(jedis.get("test1"));
        //8	SETEX key seconds value 将值 value 关联到 key ，并将 key 的过期时间设为 seconds (以秒为单位)。
        //9	SETNX key value 只有在 key 不存在时设置 key 的值。
        //10	SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值，从偏移量 offset 开始。
        //11	STRLEN key 返回 key 所储存的字符串值的长度。
        System.out.println(jedis.strlen("test1"));
        System.out.println(jedis.strlen("test6"));
        //12	MSET key value [key value ...] 同时设置一个或多个 key-value 对。
        //13	MSETNX key value [key value ...] 同时设置一个或多个 key-value 对，当且仅当所有给定 key 都不存在。
        //14	PSETEX key milliseconds value 这个命令和 SETEX 命令相似，但它以毫秒为单位设置 key 的生存时间，而不是像 SETEX 命令那样，以秒为单位。
        //15	INCR key 将 key 中储存的数字值增一。
        //16	INCRBY key increment 将 key 所储存的值加上给定的增量值（increment） 。
        //17	INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值（increment） 。
        //18	DECR key 将 key 中储存的数字值减一。
        //19	DECRBY key decrement key 所储存的值减去给定的减量值（decrement） 。
        //20	APPEND key value 如果 key 已经存在并且是一个字符串， APPEND 命令将 value 追加到 key 原来的值的末尾。
        jedis.append("test1","s");
        System.out.println(jedis.get("test1"));
        jedis.close();
    }
}
